﻿using System;
using System.Collections.Generic;
using System.Text;

namespace T.FAS.Runtime.Metadata.Entity.ScheduleJob
{
    /// <summary>
    /// 调度激活失败策略
    /// </summary>
    /// <Description>
    /// 当一个持久化的触发器因为：
    /// 1. 调度器被关闭；
    /// 2. 线程池没有可用线程；
    /// 3. 项目重启；
    /// 4. 任务的串行执行；
    /// 而错过激活时间，就会发生激活失败（misfire）
    /// </Description>
    public enum MisfirePolicy : int
    {
        /// <summary>
        /// Cron类型-忽略所有的调度失败触发点
        /// </summary>
        Schedule_IgnoreMisfire,
        /// <summary>
        /// Cron类型-立即执行一次调度
        /// </summary>
        Schedule_DoOneMisfire,
        /// <summary>
        /// Cron类型-执行所有的调度失败触发点
        /// </summary>
        Schedule_DoAllMisfires,
    }
}
